#pragma once

class IParticlesEmitterObject;

class Particle
{
public:
	Particle(float lifetime);
	~Particle();

	const glm::vec3& GetPosition() const;
	void SetPosition(const glm::vec3& newpos);

	const glm::vec3& GetDirection() const;
	void SetDirection(const glm::vec3& newdir);

	bool Calculate(float step);

	void SetLifetime(const float& lifetime);
	const float& GetLifetime() const;

private:
	glm::vec3 m_position;
	glm::vec3 m_direction;
	float m_lifetime;
};